package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

/**
 * 执行DML语句
 */
public class JDBCDemo2 {
    public static void main(String[] args) throws Exception {
        UserInfo userInfo = InputUtil.getInputObject(new UserInfo(),"欢迎注册");
        System.out.println(userInfo);


        //向userinfo表中插入一条记录
        //1加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");//不同数据库提供的Driver实现类的包名和类名不一样
        //2建立连接
        Connection conn = DriverManager.getConnection(
                //jdbc:mysql://数据库地址(IP:端口)/数据库名?参数
                "jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",
                "root",
                "root"
        );
        //3创建执行SQL的语句对象
        Statement state = conn.createStatement();
        /*
            INSERT INTO userinfo
            (username,password,nickname,age)
            VALUES
            ('张三','123456','阿三',22)
         */
        String sql = "INSERT INTO userinfo " +
                     "(username,password,nickname,age) " +
                     "VALUES " +
                     "('"+userInfo.getUsername()+"','"+userInfo.getPassword()+"','"+userInfo.getNickname()+"',"+userInfo.getAge()+")";
        /*
            Statement提供的用于执行DML(INSERT,UPDATE,DELETE)语句的方法
            int executeUpdate(String sql)
            返回值表示执行该SQL后影响了表中多少条记录
         */
        int count = state.executeUpdate(sql);
        if(count>0){
            System.out.println("插入成功");
        }
        conn.close();
    }
}
